Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Light detection and ranging (LIDAR) devices may estimate distances to objects in a given environment. For example, an emitter subsystem of a LIDAR system may emit near-infrared light pulses, which may interact with objects in the LIDAR system's environment. At least a portion of the light pulses may be redirected back toward the LIDAR (e.g., due to reflection or scattering) and detected by a receiver subsystem. Conventional receiver subsystems may include a plurality of detectors and a corresponding controller configured to determine an arrival time of the respective light pulses with high temporal resolution (e.g., ˜400 ps). The distance between the LIDAR system and a given object may be determined based on a time of flight of the corresponding light pulses that interact with the given object.
In addition, cameras can be used to identify objects within a scene. However, to improve the precision with which a camera identifies objects within a scene, the camera may be calibrated. Such a calibration can provide a correlation of the appearance of a captured image to the spatial layout of a physical scene. Further, calibration can correct for defects in the fabrication and/or assembly of a camera used to capture images. For example, if an aperture of a camera is off-center with respect to an image sensor of the camera, a calibration may correct for this (e.g., using a processor that provides a correction to captured images such that they more accurately reflect a physical scene).
One method of calibrating cameras includes applying a pinhole camera model. The pinhole camera model assumes the camera undergoing calibration is an ideal pinhole camera (i.e., a camera with no lenses and a point-like aperture). Using the pinhole camera model approximation, the coordinates (e.g., in three-dimensions) of a physical scene may be mapped to a projection on a two-dimensional plane, where the projection on the two-dimensional plane is represented by a captured calibration image. The location of the pinhole aperture in the theoretical pinhole camera can be determined based on the calibration image. Other parameters of the theoretical pinhole camera can also be determined (e.g., focal length). Determining the location of the pinhole aperture and accounting for it may include calculating one or more elements of a camera matrix based on one or more calibration images.
Other methods of calibration can be employed to correct for other defects inherent in optical design or due to fabrication/assembly, as well. For example, one or more distortion coefficients can be calculated based on a captured calibration image. The distortion coefficients may be used to account for optical non-uniformities arising due to a lens in the camera (e.g., barrel distortions, mustache distortions, pincushion distortions, etc.). In addition, other optical aberrations can be accounted for (e.g., defocusing, tilting, spherical aberrations, astigmatism, coma, chromatic aberrations, etc.). The OpenCV library of functions contains multiple commands that can be used for calibrating cameras (e.g., cameras for use in computer vision applications).